package com.wlps.mapper;

import com.wlps.entity.Commodity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wlps.entity.CommodityOrder;
import com.wlps.vo.OrderCommodityVo;
import com.wlps.vo.sendcenter.inoutform.CommodityAndWarehouseVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 商品表（commodity）
 * (1当有正在执行的订单时，不能删除商品。)
 * (如果是订购系统-订单的话不建议更新数据库建议更新redis到0的时候在更新数据库，也可以定时更新感觉可以使用这样的索引覆盖决定不习可以去掉) Mapper 接口
 * </p>
 *
 * @author ZWYZY
 * @since 2020-07-31
 */
@Repository
public interface CommodityMapper extends BaseMapper<Commodity> {
    /**
     * 根据商品名称查询商品
     *
     * @param productName
     * @return
     */
    Commodity selectCommodityByName(@Param(value = "productName") String productName);

    /** 查询应出库商品
     * @return
     */
    List<CommodityAndWarehouseVo> selectCommodityByCommodityAndWarehouseOutVo();
    /** 查询应入库商品
     * @return
     */
    List<CommodityAndWarehouseVo> selectCommodityByCommodityAndWarehouseInVo();

    List<CommodityOrder> selectCommodityOrder(@Param(value = "id")Long id);
}
